"""
变量: 计算机语言中存储计算结果或者读取数据的位置(符号)
变量和数据：
    变量和数据是分开存储
    数据存放在内存中的一个位置
    变量的本质是保存着数据在内存中的地址（引用）
引用：变量名指向数据在内存中的地址叫引用
    通过id（变量名）查看数据在内存中的地址（结果为一串数字）
    给变量赋值本质上是修改了数据的引用（参数和返回值也是变量）
"""
# 定义变量：不可变数据类型
num = 100
# 查看变量的引用（数据需在内存的地址中）
print(id(num))
# 重新赋值（不可变类型需要重新开辟空间）
num = 220
print(id(num))
# 结论:给变量赋值本质修改的是数据的引用
# 即:重新赋值后内存地址是不一样的
# 输出的num数据不同 一个是140704876713496，另一个是140704876717336

# 定义变量：可变类型
list1 = [1,2,3]
print(id(list1))
# 查看数据/变量的引用
list1.append(4)
print(id(list1))
# 输出的数据相同
